ComponentOne Zip for UWP
Zip for UWP Fundamentals / High Level: C1ZipFile, C1ZipEntry and C1ZipEntryCollection Classes
In This Topic
    High Level: C1ZipFile, C1ZipEntry and C1ZipEntryCollection Classes
    In This Topic

    These are the highest level classes in the C1Zip library. They allow you to create and manage zip files. Using zip files to store application data provides the following benefits:

    C1ZipFile Class

    The C1ZipFile class encapsulates a zip file. After you create a C1ZipFile object, you can attach it to an existing zip file or tell it to create a new empty zip file for you.

    The code below creates a zip file called sources.zip and adds all files with a "cs" extension to the zip file:

    C#
    Copy Code
    // get path for zip file and files to compress
    string path = Application.ExecutablePath;
    int pos = path.IndexOf(@"\bin");
    path = path.Substring(0, pos + 1);
    // create a zip file
    C1ZipFile zip = new C1ZipFile();
    zip.Create(path + "source.zip");
    // add all files with extension cs to the zip file
    foreach (string fileName in Directory.GetFiles(path, "*.cs"))
        zip.Entries.Add(fileName);
    // show result
    foreach (C1ZipEntry ze in zip.Entries)
    {
        Console.WriteLine("{0} {1:#,##0} {2:#,##0}",
            ze.FileName, ze.SizeUncompressed, ze.SizeCompressed);
    }
    

    C1ZipEntryCollection Class

    After you have created or opened a zip file, use the C1ZipFile.Entries collection to inspect the contents of the zip file, or to add, expand, and delete entries. For example:

    Visual Basic
    Copy Code
    myZip.Entries.Add(stream1, "MyData.txt")
    myZip.Entries.Add(stream2, "MyData.xml")
    Dim zipEntry As C1ZipEntry
    For Each zipEntry In myZip.Entries
        Console.WriteLine(zipEntry.FileName)
    Next zipEntry
    

    C#
    Copy Code
    myZip.Entries.Add(stream1, "MyData.txt");
    myZip.Entries.Add(stream2, "MyData.doc");
    foreach (C1ZipEntry zipEntry in myZip.Entries)
        Debug.WriteLine(zipEntry.FileName);
    

    C1ZipEntry Class

    The C1ZipEntry class exposes properties and methods that describe each entry, including its original file name, size, compressed size, and so on. It also has a C1ZipEntry.OpenReader method that returns a stream object, so you can read the entry contents without expanding it first.

    See Also